Distributed computing systems are increasingly being utilized to support business applications and technical applications of various fields. Distributed computing systems comprise a plurality of hardware- and/or software-based resources together providing IT-services to various clients, e.g. in the field of B2B or B2C services. Distributed computing systems are employed, for example, in the realm of cloud computing wherein application programs, virtual machines, storage capacity and/or processing capacity are provided to a plurality of clients as a service. In some use case scenarios distributed computing systems provide services to a plurality of clients via a network, e.g. the Internet, whereby the services are based on a plurality of redundant software- and/or hardware resources for ensuring an efficient and reliable service provisioning.
However, the deployment and administration of such a system is an organizational challenge as the resources may be of a plurality of different resource types (e.g., application servers, storage media, networked devices, applications, processing units) and may be provided by different manufacturers or software developers (and may thus be addressable only via a manufacturer-specific/proprietary API).
As a consequence, the operator of a distributed computing system intending to allocate or re-allocate resource instances to a particular IT-service must provide the module responsible for instantiating and/or allocating a resource to an IT-service with all the details of the proprietary APIs to enable said module to communicate with the respectively used resource manager. Thus, protocols and interfaces of a plurality of different resource managers must be “known” by said module when modeling or building a new IT-service. In other words, the module for instantiating and allocating resources and the respectively employed resource managers are tightly coupled to each other, and adding resource managers of a new resource type or employing a different proprietary API dynamically to an IT-service in operation is not possible.